Using the rockyIntertidal R package

Getting started

Installation

Step 1. Install R, RStudio, and RTools44 in Software Center

Step 2. Install devtools package in R:

install.packages('devtools')

Step 3. Install rockyIntertidal from GitHub

Note that whenever the rockyIntertidal package is updated, you can rerun this code to install the latest version.

library(devtools)
install_github("KateMMiller/rockyIntertidal")

Step 4. Load rockyIntertidal R package

library(rockyIntertidal)

Step 5. Import rocky monitoring data

Note that R is not able to connect to files on Sharepoint or MS Teams (b/c Teams also stores all files on Sharepoint). That means you need to store data package files on your local machine or on a server (e.g. NETN Z drive). The default option for importing data will add the data package views (i.e., flatfiles) to an environment called ROCKY to your Environment work space (i.e. Environment tab in top right panel). If you would rather import each individual view into your R session, specify with the new_env argument (e.g., importData(new_env = F)). To import data using the default settings (i.e. run importData() with no arguments), you must have the rocky intertidal front end set as a User DSN called rocky_FE. The database front end must also be linked with the latest rocky intertidal backend to pull in the latest data (see “Setting up DSN” tab for more details).

Option 1. Import data via .csv files. The file path should be where csvs are on your machine or server.

importData(type = 'csv',
           filepath = "C:/NETN/R_Dev/data") # update filepath to your computer

Option 2. Import data via zip file of csvs. The filepath should be the location and name of the zip file.

importData(type = 'zip',
           filepath = "C:/NETN/R_Dev/data/NETN_RockyIntertidal_Data_Package_20240927.zip")

Option 3. Import data via data package database file on your computer

importData(type = 'dbfile',
           filepath = "C:/NETN/R_Dev/data/NETN_RockyIntertidal_Database_fe_20240919.accdb")

Option 4. Import data via data package database DSN (Data Source Name) on your computer. Note that this is the default setting. As long as you have a named DSN called “rocky_FE” that links to the data package database, and that database links to the latest rocky intertidal backend database, the code below will run. See Setting up DSN tab for how to set up DSN.

importData() # easiest
importData(type = 'DSN', odbc = "rocky_FE") # equivalent to line above

Step 6. (Optional) Export data package to zip

You can export all of the csvs to a zip file with the day’s date stamped on the file name. This allows you to import the tables from the database, then export the csvs as one zip file.

exportData(filepath = "./data", zip = TRUE) 

Step 6b.Import water temperature data NOTE: NOT RECENTLY TESTED

The water temperature data is stored as separate csvs and so has a different import function and process. The temp logger files will go into your ROCKY environment named the 6 letter location code. The buoy = T loads the buoy data for each park to the ROCKY environment. The simplify = T simplifies the datasets to include only 1 logger measurement per high tide event (for water temp) and 1 buoy record per day. All plotting functions require the simplified data. The latest compiled files are on the Z drive here: “Z:/PROJECTS/MONITORING/Rocky_Intertidal/NETN/5_Data/Data_Files/Temperature/Compiled_HT_water_temps_2011-2022/”. This reminds me that I need to update the data to include 2023.

#path = "Z:/PROJECTS/MONITORING/Rocky_Intertidal/NETN/5_Data/Data_Files/Temperature/Compiled_HT_water_temps_2011-2022/"
path = "C:/NETN/R_Dev/data/rocky/temp_data/Compiled_HT_water_temps"
importWaterTemp(path = path, buoy = T, simplify = T)

Step 7. Play with the data

The functions in the rockyIntertidal package are designed to work with the views, and are the best way to interact with the data to query by park, site, site type, year, parameter, etc. However, if you want to view the raw data, and you imported the data into the ROCKY environment, you can access them with the code below:

# See list of the views
names(ROCKY)

# View one of the views
View(ROCKY$Bolts)

# See top 6 records 
head(ROCKY$Echinoderm_Counts)

# Check structure of view
str(ROCKY$Echinoderm_Counts)

# Assign a view to a data frame named bolts in R. Interact with bolts the way you would work with any normal data frame in R. 
bolts <- ROCKY$Bolts

While this works, the better approach is to use the “getter” functions within the R package, which access the same files, but allow you to also query data based on park, location, years, plot name, species, etc. See the specific getter function tabs for details.

If you want to use the print_head() function that shows output in the markdown, run the code below. This makes the results print cleaner in the markdown report. For your purposes, you can just run: head(dataframe).

print_head <- function(df){
  knitr::kable(df[1:6,]) |> #, table.attr = "style='width:60%;'") |> 
    kableExtra::kable_classic(full_width = F, font_size = 12, 
                              bootstrap_options = c("condensed"))
}

Troubleshooting Built Tools:

If you’re contributing to the package, you’ll need to use build tools to build and install the package to test changes before posting to GitHub. Unfortunately Software Center installs RTools44 in C:/Program Files/, not C:/, which is where RStudio looks for it by default. The following code helps RStudio find RTools. You may occasionally have to rerun this code (except for the usethis line), so keep it handy. You know when you have to rerun the code when you try to rebuild a package, and a window pops up to ask if you want to install missing build files.

# Set r environ to find rtools on opening
usethis::edit_r_environ()
Sys.setenv(PATH = paste("C:\\PROGRA~1\\Rtools44\\bin", Sys.getenv("PATH"), sep=";"))
Sys.setenv(BINPREF = "C:\\PROGRA~1\\Rtools44\\mingw_$(WIN)\\bin\\")

Getting help

Getting (and improving) help

The functions in rockyIntertidal have help documentation like any R package. To view the help, you can go to the Packages tab and click on rockyIntertidal (see below). That will show you all the functions in the package. Clicking on individual functions will take you to the help documentation for that function.

You can also see the help of a function by running, for example:

?importData

If rockyIntertidal isn’t loaded yet, you’d run:

?rockyIntertidal::importData

Each function’s help includes a Description, Usage (i.e. function arguments and their defaults), Argument options/definitions, and several examples showing how the function can be used.

This is where you come in! If you notice typos or can think of better descriptions, examples, error messages, etc., please send them my way! After we’re more comfortable with R packages and get versed on GitHub, you’ll be able to make those changes directly in the package. For now, you can just send me your suggestions and I’ll make the changes.

Finally, if you ever want to peak under the hood at the function, you can view it several ways.
  1. Keep F2 key pressed and click on the function name in R. This trick works for many but not all functions in R.
  2. View code in the GitHub katemmiller/rockyIntertidal repo. The functions are in the R folder.

Setting up DSN

Setting up a DSN

  1. Go to Windows Start Menu and search ODBC. Click on ODBC Data Sources (64-bit)
  2. Click on Add, then select Microsoft Access Driver (*.mdb, *.accdb) then click Finish in next menu.
  3. Enter rocky_BE into the Data Source Name (red arrow), click on Select (red circle). In new window, click on C:/ (orange arrow) and find the path to your database. If it’s on the Z drive, then click on the Drives window and select correct Drive. Click on the data package database (yellow arrow). When complete, click OK. Finally, add the name of the database file to the Description (blue arrow), so it’s easier to check whether you’re using the latest version.
  4. If updating an existing DSN, follow similar process, except click on the DSN in the first window and select Configure instead of Add.

get Data functions

Bolt data

Get bolt data for ACAD barnacle recruitment plots

print_head(getBolts(park = "ACAD", plotType = "Recruitment Plot"))
GroupCode GroupName UnitCode UnitName SiteName SiteCode Label PlotName PlotType CommunityType BoltLatitude BoltLongitude LatLong_Datum Bolt_UTM_E Bolt_UTM_N Bolt_UTM_Zone Bolt_UTM_Datum Bolt_NAVD88_Elev Bolt_MLLW_Elev Notes IsBoltCUI
NETN Northeast Temperate Network ACAD Acadia National Park Bass Harbor BASHAR S1 bolt 01 S1 Recruitment Plot Barnacle 44.22448 -68.32216 WGS84 554148.7 4897066 19 NAD83 0.453275 2.274275 NA FALSE
NETN Northeast Temperate Network ACAD Acadia National Park Bass Harbor BASHAR S1 bolt 02 S1 Recruitment Plot Barnacle 44.22448 -68.32215 WGS84 554148.7 4897066 19 NAD83 0.475296 2.296296 NA FALSE
NETN Northeast Temperate Network ACAD Acadia National Park Bass Harbor BASHAR S1 label S1 Recruitment Plot Barnacle 44.22448 -68.32216 WGS84 554148.7 4897066 19 NAD83 0.429081 2.250081 NA FALSE
NETN Northeast Temperate Network ACAD Acadia National Park Bass Harbor BASHAR S2 bolt 01 S2 Recruitment Plot Barnacle 44.22446 -68.32218 WGS84 554148.7 4897066 19 NAD83 0.431997 2.252997 NA FALSE
NETN Northeast Temperate Network ACAD Acadia National Park Bass Harbor BASHAR S2 bolt 02 S2 Recruitment Plot Barnacle 44.22446 -68.32218 WGS84 554148.7 4897066 19 NAD83 0.409523 2.230523 NA FALSE
NETN Northeast Temperate Network ACAD Acadia National Park Bass Harbor BASHAR S2 label S2 Recruitment Plot Barnacle 44.22446 -68.32218 WGS84 554148.7 4897066 19 NAD83 0.405884 2.226884 NA FALSE

Get bolt data for Calf Island photoplots

print_head(getBolts(site = "CALISL", plotType = "Photoplot"))
GroupCode GroupName UnitCode UnitName SiteName SiteCode Label PlotName PlotType CommunityType BoltLatitude BoltLongitude LatLong_Datum Bolt_UTM_E Bolt_UTM_N Bolt_UTM_Zone Bolt_UTM_Datum Bolt_NAVD88_Elev Bolt_MLLW_Elev Notes IsBoltCUI
NETN Northeast Temperate Network BOHA Boston Harbor Islands National Park Area Calf Island CALISL A1 bolt 01 A1 Photoplot Ascophyllum 42.34241 -70.89479 WGS84 343821.4 4689574 19 NAD83 0.107605 1.785605 NA FALSE
NETN Northeast Temperate Network BOHA Boston Harbor Islands National Park Area Calf Island CALISL A1 bolt 02 A1 Photoplot Ascophyllum 42.34241 -70.89478 WGS84 343821.4 4689574 19 NAD83 -0.063546 1.614454 NA FALSE
NETN Northeast Temperate Network BOHA Boston Harbor Islands National Park Area Calf Island CALISL A1 bolt 03 A1 Photoplot Ascophyllum 42.34241 -70.89478 WGS84 343821.4 4689574 19 NAD83 -0.140115 1.537885 NA FALSE
NETN Northeast Temperate Network BOHA Boston Harbor Islands National Park Area Calf Island CALISL A1 bolt 04 A1 Photoplot Ascophyllum 42.34242 -70.89478 WGS84 343821.4 4689574 19 NAD83 -0.107108 1.570892 NA FALSE
NETN Northeast Temperate Network BOHA Boston Harbor Islands National Park Area Calf Island CALISL A1 label A1 Photoplot Ascophyllum 42.34241 -70.89479 WGS84 343821.4 4689574 19 NAD83 0.095710 1.773710 NA FALSE
NETN Northeast Temperate Network BOHA Boston Harbor Islands National Park Area Calf Island CALISL A2 bolt 01 A2 Photoplot Ascophyllum 42.34242 -70.89481 WGS84 343821.4 4689574 19 NAD83 0.249903 1.927903 NA FALSE

Barnacle Recruitment

Default filter returns all summer records except QAQC records and blank counts.

print_head(getBarnacleRecruitment())
GroupCode GroupName UnitCode UnitName SiteCode SiteName StartDate Year QAQC QAQCType PlotName Count Notes DateScored Scorer IsPointCUI
NETN Northeast Temperate Network ACAD Acadia National Park SCHPOI Schoodic Point 2013-06-19 2013 FALSE NA S1 708 Scoring date not known. NA {DB5AAE5D-8B53-4EAF-8DA9-43E7ABB19099} FALSE
NETN Northeast Temperate Network ACAD Acadia National Park SCHPOI Schoodic Point 2013-06-19 2013 FALSE NA S2 458 Scoring date not known. NA {DB5AAE5D-8B53-4EAF-8DA9-43E7ABB19099} FALSE
NETN Northeast Temperate Network ACAD Acadia National Park SCHPOI Schoodic Point 2013-06-19 2013 FALSE NA S3 170 Scoring date not known. NA {DB5AAE5D-8B53-4EAF-8DA9-43E7ABB19099} FALSE
NETN Northeast Temperate Network ACAD Acadia National Park SCHPOI Schoodic Point 2013-06-19 2013 FALSE NA S4 145 Scoring date not known. NA {DB5AAE5D-8B53-4EAF-8DA9-43E7ABB19099} FALSE
NETN Northeast Temperate Network ACAD Acadia National Park SCHPOI Schoodic Point 2013-06-19 2013 FALSE NA S5 390 Scoring date not known. NA {DB5AAE5D-8B53-4EAF-8DA9-43E7ABB19099} FALSE
NETN Northeast Temperate Network ACAD Acadia National Park SCHPOI Schoodic Point 2013-06-19 2013 FALSE NA U1 368 Scoring date not known. NA {DB5AAE5D-8B53-4EAF-8DA9-43E7ABB19099} FALSE

Barnacle counts for ACAD only sites

print_head(getBarnacleRecruitment(park = "ACAD"))
GroupCode GroupName UnitCode UnitName SiteCode SiteName StartDate Year QAQC QAQCType PlotName Count Notes DateScored Scorer IsPointCUI
NETN Northeast Temperate Network ACAD Acadia National Park SCHPOI Schoodic Point 2013-06-19 2013 FALSE NA S1 708 Scoring date not known. NA {DB5AAE5D-8B53-4EAF-8DA9-43E7ABB19099} FALSE
NETN Northeast Temperate Network ACAD Acadia National Park SCHPOI Schoodic Point 2013-06-19 2013 FALSE NA S2 458 Scoring date not known. NA {DB5AAE5D-8B53-4EAF-8DA9-43E7ABB19099} FALSE
NETN Northeast Temperate Network ACAD Acadia National Park SCHPOI Schoodic Point 2013-06-19 2013 FALSE NA S3 170 Scoring date not known. NA {DB5AAE5D-8B53-4EAF-8DA9-43E7ABB19099} FALSE
NETN Northeast Temperate Network ACAD Acadia National Park SCHPOI Schoodic Point 2013-06-19 2013 FALSE NA S4 145 Scoring date not known. NA {DB5AAE5D-8B53-4EAF-8DA9-43E7ABB19099} FALSE
NETN Northeast Temperate Network ACAD Acadia National Park SCHPOI Schoodic Point 2013-06-19 2013 FALSE NA S5 390 Scoring date not known. NA {DB5AAE5D-8B53-4EAF-8DA9-43E7ABB19099} FALSE
NETN Northeast Temperate Network ACAD Acadia National Park SCHPOI Schoodic Point 2013-06-19 2013 FALSE NA U1 368 Scoring date not known. NA {DB5AAE5D-8B53-4EAF-8DA9-43E7ABB19099} FALSE

Barnacle counts for different combinations of parks, sites, plots, and years

barn_sumwin <- getBarnacleRecruitment(park = "ACAD", plotName = "all") # summer and winter counts 
barn_BOHA <- getBarnacleRecruitment(park = "BOHA")
barn_5yr <- getBarnacleRecruitment(years = 2016:2021)
barn_first_last <- getBarnacleRecruitment(years = c(2013, 2021))
barn24_qaqc <- getBarnacleRecruitment(years = 2024, QAQC = TRUE)
barn_na <- getBarnacleRecruitment(dropNA = F) # returns NA records too


Point Intercept Data

Note that the getter functions only return the raw data from the views. Elevation is calculated in sumPISpecies()

PI Bolt Distance

Default returns all records except QAQC visits and blank distances

print_head(getPIBoltDistance())
GroupCode GroupName UnitCode UnitName SiteCode SiteName StartDate Year QAQC PlotName Label Elevation_MLLW_m Distance_m IsPointCUI
NETN Northeast Temperate Network ACAD Acadia NP SCHPOI Schoodic Point 2013-06-19 2013 FALSE T1 T1 bolt 01 3.487006 0.00 FALSE
NETN Northeast Temperate Network ACAD Acadia NP SCHPOI Schoodic Point 2013-06-19 2013 FALSE T1 T1 bolt 02 3.184000 1.04 FALSE
NETN Northeast Temperate Network ACAD Acadia NP SCHPOI Schoodic Point 2013-06-19 2013 FALSE T1 T1 bolt 03 NA 1.53 FALSE
NETN Northeast Temperate Network ACAD Acadia NP SCHPOI Schoodic Point 2013-06-19 2013 FALSE T1 T1 bolt 04 2.668736 3.16 FALSE
NETN Northeast Temperate Network ACAD Acadia NP SCHPOI Schoodic Point 2013-06-19 2013 FALSE T1 T1 bolt 05 2.543000 3.89 FALSE
NETN Northeast Temperate Network ACAD Acadia NP SCHPOI Schoodic Point 2013-06-19 2013 FALSE T1 T1 bolt 06 2.958020 4.95 FALSE

PI Bolt distances for different combinations of parks, sites, plots, and years

bolt_na <- getPIBoltDistance(dropNA = F) # return NA records too
bolt_t3 <- getPIBoltDistance(park = "ACAD", plotName = "T3")
bolt_BOHA2 <- getPIBoltDistance(site = c("CALISL", "GREISL"))
bolt_5yr <- getPIBoltDistance(years = 2016:2021)
bolt_first_last <- getPIBoltDistance(years = c(2013, 2021))
bolt_with_qaqc <- getPIBoltDistance(years = 2021, QAQC = TRUE)


PhotoPlot Cover

Default returns all records except QAQC visits and blank Cover values

print_head(getPhotoCover())
GroupCode GroupName UnitCode UnitName SiteCode SiteName StartDate Year QAQC QAQCType PlotName CommunityType BoltLatitude BoltLongitude Bolt_UTM_E Bolt_UTM_N Bolt_MLLW_Elev CoverType ScientificName CoverCode PercentCover Notes DateScored Scorer IsPointCUI
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE NA A1 Ascophyllum 44.22468 -68.32274 554148.7 4897066 2.786703 Other Algae - Red Rhodophyta ALGRED 0 NA 2013-09-03 {1EE29925-05EE-4AEF-967C-2F4D5C2A4724} FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE NA A1 Ascophyllum 44.22468 -68.32274 554148.7 4897066 2.786703 Articulated corallines Corallinales officinalis ARTCOR 0 NA 2013-09-03 {1EE29925-05EE-4AEF-967C-2F4D5C2A4724} FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE NA A1 Ascophyllum 44.22468 -68.32274 554148.7 4897066 2.786703 Other Invertebrate Animalia OTHINV 0 NA 2013-09-03 {1EE29925-05EE-4AEF-967C-2F4D5C2A4724} FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE NA A1 Ascophyllum 44.22468 -68.32274 554148.7 4897066 2.786703 Laver Porphyra PORSPP 0 NA 2013-09-03 {1EE29925-05EE-4AEF-967C-2F4D5C2A4724} FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE NA A1 Ascophyllum 44.22468 -68.32274 554148.7 4897066 2.786703 Unidentified NA UNIDEN 0 NA 2013-09-03 {1EE29925-05EE-4AEF-967C-2F4D5C2A4724} FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE NA A1 Ascophyllum 44.22468 -68.32274 554148.7 4897066 2.786703 Tar NA TAR 0 NA 2013-09-03 {1EE29925-05EE-4AEF-967C-2F4D5C2A4724} FALSE

Photoplot cover for different combinations of parks, sites, plots, years, etc.

cov_na <- getPhotoCover(dropNA = F) # returns NA records too
cov_a1 <- getPhotoCover(park = "ACAD", plotName = "A1")
cov_BOHA2 <- getPhotoCover(site = c("CALISL", "GREISL"))
cov_ab <- getPhotoCover(park = "BOHA", species = c("ALGBRO"))
cov_5yr <- getPhotoCover(years = 2016:2021)
cov_first_last <- getPhotoCover(years = c(2013, 2021))
cov21_with_qaqc <- getPhotoCover(years = 2021, QAQC = TRUE)

Motile Invert Counts

Default returns all records except QAQC visits and blank counts

print_head(getMotileInvertCounts())
GroupCode GroupName UnitCode UnitName SiteCode SiteName StartDate Year QAQC PlotName CommunityType BoltLatitude BoltLongitude Bolt_UTM_E Bolt_UTM_N Bolt_MLLW_Elev ScientificName CommonName SpeciesCode Damage No.Damage Subsampled IsPointCUI
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE A1 Ascophyllum 44.22468 -68.32274 554148.7 4897066 2.786703 Littorina littorea Common periwinkle LITLIT 0 3 No FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE A1 Ascophyllum 44.22468 -68.32274 554148.7 4897066 2.786703 Littorina obtusata Smooth periwinkle LITOBT 0 6 No FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE A1 Ascophyllum 44.22468 -68.32274 554148.7 4897066 2.786703 Littorina saxatilis Rough periwinkle LITSAX 0 0 No FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE A1 Ascophyllum 44.22468 -68.32274 554148.7 4897066 2.786703 Nucella lapillus Dogwhelk NUCLAP 0 0 No FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE A1 Ascophyllum 44.22468 -68.32274 554148.7 4897066 2.786703 Testudinalia testudinalis Limpet TECTES 0 0 No FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2014-06-21 2014 FALSE A1 Ascophyllum 44.22468 -68.32274 554148.7 4897066 2.786703 Littorina littorea Common periwinkle LITLIT 0 2 No FALSE

Motile Invertebrate counts for different combinations of parks, sites, plots, years, etc.

minv_acad <- getMotileInvertCounts(dropNA = F) # return NA counts too
minv_r <- getMotileInvertCounts(park = "ACAD", plotName = c("R1", "R2", "R3", "R4", "R5"))
minv_BOHA2 <- getMotileInvertCounts(site = c("CALISL", "GREISL"))
minv_lit <- getMotileInvertCounts(species = c("LITLIT", "LITOBT", "LITSAX"))
minv_5yr <- getMotileInvertCounts(years = 2016:2021)
minv_first_last <- getMotileInvertCounts(years = c(2013, 2021))
minv21_qaqc <- getMotileInvertCounts(years = 2021, QAQC = TRUE)

Motile Invert Meas

Default returns all records except QAQC visits and blank counts

print_head(getMotileInvertMeas())
GroupCode GroupName UnitCode UnitName SiteCode SiteName StartDate Year QAQC PlotName CommunityType ScientificName CommonName SpeciesCode Measurement IsPointCUI
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE A1 Ascophyllum Littorina littorea Common periwinkle LITLIT 9 FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE A1 Ascophyllum Littorina littorea Common periwinkle LITLIT 23 FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE A1 Ascophyllum Littorina obtusata Smooth periwinkle LITOBT 12 FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE A1 Ascophyllum Littorina obtusata Smooth periwinkle LITOBT 11 FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE A1 Ascophyllum Littorina obtusata Smooth periwinkle LITOBT 12 FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE A1 Ascophyllum Littorina obtusata Smooth periwinkle LITOBT 12 FALSE

Motile Invertebrate measurements for different combinations of parks, sites, plots, years, etc.

minv_acad <- getMotileInvertMeas(park = "ACAD", dropNA = F) # include NA measurements too
minv_r <- getMotileInvertMeas(park = "ACAD", plotName = c("R1", "R2", "R3", "R4", "R5"))
minv_BOHA2 <- getMotileInvertMeas(site = c("CALISL", "GREISL"))
minv_lit <- getMotileInvertMeas(species = c("LITLIT", "LITOBT", "LITSAX"))
minv_5yr <- getMotileInvertMeas(years = 2016:2021)
minv_first_last <- getMotileInvertMeas(years = c(2013, 2021))
minv21_qaqc <- getMotileInvertMeas(years = 2021, QAQC = TRUE)

Echinoderm Counts

Default returns all records except QAQC visits and blank counts

print_head(getEchinoCounts())
GroupCode GroupName UnitCode UnitName SiteCode SiteName StartDate Year QAQC PlotName ScientificName SpeciesCode Count IsPointCUI
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2021-07-18 2021 FALSE X1 Asterias forbesi ASTFOR 0 FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2021-07-18 2021 FALSE X1 Strongylocentrotus droebachiensis STRDRO 0 FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2021-07-18 2021 FALSE X1 Asterias rubens ASTRUB 0 FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2021-07-18 2021 FALSE X1 Henricia sanguinolenta HENSAN 0 FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2024-06-29 2024 FALSE X1 Henricia sanguinolenta HENSAN 0 FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2024-06-29 2024 FALSE X1 Asterias rubens ASTRUB 0 FALSE

Echinoderm counts for different combinations of parks, sites, plots, years, etc.

ech_acad <- getEchinoCounts(park = "ACAD", dropNA = F) # return NA counts too
ech_t3 <- getEchinoCounts(park = "ACAD", plotName = "X3")
ech_BOHA2 <- getEchinoCounts(site = c("CALISL", "GREISL"))
ech_5yr <- getEchinoCounts(years = 2016:2021)
ech_first_last <- getEchinoCounts(years = c(2013, 2021))
ech21_qaqc <- getEchinoCounts(years = 2021, QAQC = TRUE)

Echinoderm Meas

Default returns all records except QAQC visits and blank measurements

print_head(getEchinoMeas())
GroupCode GroupName UnitCode UnitName SiteCode SiteName StartDate Year QAQC PlotName ScientificName CommonName SpeciesCode Measurement IsPointCUI
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2014-06-21 2014 FALSE X2 Asterias rubens Common sea star ASTRUB 15 FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2014-06-21 2014 FALSE X2 Strongylocentrotus droebachiensis Green sea urchin STRDRO 33 FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2014-06-21 2014 FALSE X2 Strongylocentrotus droebachiensis Green sea urchin STRDRO 28 FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2014-06-21 2014 FALSE X2 Strongylocentrotus droebachiensis Green sea urchin STRDRO 18 FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2014-06-21 2014 FALSE X2 Strongylocentrotus droebachiensis Green sea urchin STRDRO 48 FALSE
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2014-06-21 2014 FALSE X2 Strongylocentrotus droebachiensis Green sea urchin STRDRO 21 FALSE

Echinoderm measurements for different combinations of parks, sites, years, etc.

ech_acad <- getEchinoMeas(park = "ACAD", dropNA = F) #returns NAs too
ech_t3 <- getEchinoMeas(park = "ACAD", plotName = "X3")
ech_BOHA2 <- getEchinoMeas(site = c("CALISL", "GREISL"))
ech_5yr <- getEchinoMeas(years = 2016:2021)
ech_first_last <- getEchinoMeas(years = c(2013, 2021))
ech21_qaqc <- getEchinoMeas(years = 2021, QAQC = TRUE)
ech21_ASTFOR <- getEchinoMeas(species = "ASTFOR")

Summarize Data

For every get function, there’s a sum function that summarizes the data. This is typically at the site level for a given species and year. For example, averaging across the 3 point intercept transects, or averaging percent cover across the 5 barnacle photoplots. Summary functions are demonstrated below.

Barnacle Recruitment

The barnacle recruitment summary function calculates the median, min and max of counts for a given plot type (ie summer or winter) for each visit. If there are multiple records for a given site x visit x plot type, you will receive a warning in the console with a description of how the duplicates were handled by the function.

Summarize defaults, which is all parks, all sites, all years, all species, summer-only, non-QAQC visits/QAQC types, and complete records.

print_head(sumBarnacleRecruitment())
GroupCode GroupName UnitCode UnitName SiteCode SiteName StartDate Year QAQC QAQCType plot_type median_count max_count min_count num_plots
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE NA summer 1260 1383 1080 5
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE NA winter 1148 1247 883 5
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2014-06-21 2014 FALSE NA summer 1333 1430 972 5
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2014-06-21 2014 FALSE NA winter 573 914 0 5
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2015-06-12 2015 FALSE NA summer 1760 2249 1722 5
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2015-06-12 2015 FALSE NA winter 1256 1707 780 5

Summarize different combinations of parks, sites, years, species, etc.

barn_acad <- sumBarnacleRecruitment(park = "ACAD")
barn_summer <- sumBarnacleRecruitment(park = "ACAD", plotName = "summer")
barn_BOHA <- sumBarnacleRecruitment(site = c("CALISL", "GREISL"))
barn_5yr <- sumBarnacleRecruitment(years = 2016:2021)
barn_first_last <- sumBarnacleRecruitment(years = c(2013, 2021))
barn21_qaqc <- sumBarnacleRecruitment(years = 2024, QAQC = TRUE)

Point Intercept Data

This is the function where elevation is calculated for point intercept distances along the transects. Note: you will get a warning if there are impossible distance/elevation combinations in the console and an object called bolt_checks will show up in your workspace environment.

Summarize defaults, which is all parks, all sites, all years, all species, non-QAQC visits, and complete records.

print_head(sumPISpecies()) 
UnitCode SiteCode SiteName StartDate QAQC Year PlotName Label CoverType CoverCode Elevation_MLLW_m elev_first elev_last elev_change Distance_m PI_Distance PI_Elevation
ACAD BASHAR Bass Harbor 2013-06-21 FALSE 2013 T1 T1 bolt 01 Rock ROCK 4.51103 4.51103 4.317431 0.1935992 0 0.0 4.511030
ACAD BASHAR Bass Harbor 2013-06-21 FALSE 2013 T1 T1 bolt 01 Rock ROCK 4.51103 4.51103 4.317431 0.1935992 0 0.3 4.486524
ACAD BASHAR Bass Harbor 2013-06-21 FALSE 2013 T1 T1 bolt 01 Water WATER 4.51103 4.51103 4.317431 0.1935992 0 0.6 4.462018
ACAD BASHAR Bass Harbor 2013-06-21 FALSE 2013 T1 T1 bolt 01 Rock ROCK 4.51103 4.51103 4.317431 0.1935992 0 0.9 4.437512
ACAD BASHAR Bass Harbor 2013-06-21 FALSE 2013 T1 T1 bolt 01 Rock ROCK 4.51103 4.51103 4.317431 0.1935992 0 1.2 4.413005
ACAD BASHAR Bass Harbor 2013-06-21 FALSE 2013 T1 T1 bolt 01 Rock ROCK 4.51103 4.51103 4.317431 0.1935992 0 1.5 4.388499

Summarize different combinations of parks, sites, years, species, etc.

spp_ACAD <- sumPISpecies(park = "ACAD")
spp_t3 <- sumPISpecies(park = "ACAD", plotName = "T3")
spp_BOHA2 <- sumPISpecies(site = c("CALISL", "GREISL"))
spp_fuc <- sumPISpecies(park = "BOHA", species = c("FUCEPI", "FUCSPP"))
spp_5yr <- sumPISpecies(years = 2016:2021)
spp_first_last <- sumPISpecies(years = c(2013, 2021))
spp21_with_qaqc <- sumPISpecies(years = 2021, QAQC = TRUE)
spp_no_drops <- sumPISpecies(drop_missing = FALSE)

PhotoPlot Cover

Summarize defaults, which is all parks, all sites, all plots, all species, all categories, all communities, non-QAQC visits, and complete records.

print_head(sumPhotoCover())
GroupCode GroupName UnitCode UnitName SiteCode SiteName StartDate Year QAQC CommunityType CoverType ScientificName CoverCode avg_cover median_cover min_cover max_cover q25_cover q75_cover
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE Ascophyllum Articulated corallines Corallinales officinalis ARTCOR 0.0 0 0 0 0 0
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE Ascophyllum Ascophyllum epibiont Vertebrata lanosa/Elachista fucicola ASCEPI 17.6 22 2 27 14 23
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE Ascophyllum Barnacle Semibalanus balanoides BARSPP 0.4 0 0 1 0 1
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE Ascophyllum Crustose coralline Phymatolithon lenormandii CRUCOR 0.0 0 0 0 0 0
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE Ascophyllum Crustose non-coralline Calothrix NONCOR 0.0 0 0 0 0 0
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE Ascophyllum Dulse Palmaria palmata PALPAL 0.0 0 0 0 0 0

Summarize different combinations of parks, sites, years, species, etc.

cov_ACAD <- sumPhotoCover(park = "ACAD")
cov_t3 <- sumPhotoCover(park = "ACAD", plotName = "A3")
cov_BOHA2 <- sumPhotoCover(site = c("CALISL", "GREISL"))
cov_ab <- sumPhotoCover(park = "BOHA", species = c("ALGBRO"))
cov_5yr <- sumPhotoCover(years = 2016:2021)
cov23_with_qaqc <- sumPhotoCover(site = "SHIHAR", years = 2023, QAQC = TRUE)

Motile Invert Counts

This function summarizes site-level average, median, min and max counts by park, site, plot name, and species.

Summarize defaults, which is all parks, all sites, all plots, all species, all communities, non-QAQC visits, and complete records.

print_head(sumMotileInvertCounts())
GroupCode GroupName UnitCode UnitName SiteCode SiteName StartDate Year QAQC CommunityType SpeciesCode ScientificName CommonName count_total count_med count_avg count_min count_max count_l25 count_u75 damaged_total damaged_med damaged_avg damaged_min damaged_max damaged_l25 damaged_u75 notdamaged_total notdamaged_med notdamaged_avg notdamaged_min notdamaged_max notdamaged_l25 notdamaged_u75
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE Ascophyllum LITLIT Littorina littorea Common periwinkle 70 16 14.0 3 23 8 20 1 0 0.2 0 1 0 0 69 16 13.8 3 22 8 20
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE Ascophyllum LITOBT Littorina obtusata Smooth periwinkle 95 23 19.0 6 34 7 25 1 0 0.2 0 1 0 0 94 23 18.8 6 34 6 25
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE Ascophyllum LITSAX Littorina saxatilis Rough periwinkle 0 0 0.0 0 0 0 0 0 0 0.0 0 0 0 0 0 0 0.0 0 0 0 0
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE Ascophyllum NUCLAP Nucella lapillus Dogwhelk 3 0 0.6 0 2 0 1 0 0 0.0 0 0 0 0 3 0 0.6 0 2 0 1
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE Ascophyllum TECTES Testudinalia testudinalis Limpet 0 0 0.0 0 0 0 0 0 0 0.0 0 0 0 0 0 0 0.0 0 0 0 0
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE Barnacle LITLIT Littorina littorea Common periwinkle 2 0 0.4 0 1 0 1 0 0 0.0 0 0 0 0 2 0 0.4 0 1 0 1

Summarize different combinations of parks, sites, years, species, etc.

cnts_acad <- sumMotileInvertCounts (park = "ACAD")
cnt_a1 <- sumMotileInvertCounts (park = "ACAD", plotName = "A1")
cnt_BOHA2 <- sumMotileInvertCounts (site = c("CALISL", "GREISL"))
cnt_gc <- sumMotileInvertCounts (park = "BOHA", species = c("CARMAE"))
cnt_5yr <- sumMotileInvertCounts (years = 2016:2021)
cnt_first_last <- sumMotileInvertCounts (years = c(2013, 2021))
cnt21_with_qaqc <- sumMotileInvertCounts (years = 2021, QAQC = TRUE)

Motile Invert Meas.

This function summarizes number of individuals in each 5 mm size class by park, site, and species.

Summarize defaults, which is all parks, all sites, all plots, all species, all communities, non-QAQC visits, and complete records.

print_head(sumMotileInvertMeas())
GroupCode GroupName UnitCode UnitName SiteCode SiteName StartDate Year QAQC CommunityType ScientificName CommonName SpeciesCode Meas_5mm_fac num_meas
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE Ascophyllum Littorina littorea Common periwinkle LITLIT 5 to 9.9 3
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE Ascophyllum Littorina littorea Common periwinkle LITLIT 10 to 14.9 3
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE Ascophyllum Littorina littorea Common periwinkle LITLIT 15 to 19.9 23
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE Ascophyllum Littorina littorea Common periwinkle LITLIT 20 to 24.9 12
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE Ascophyllum Littorina obtusata Smooth periwinkle LITOBT 5 to 9.9 8
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE Ascophyllum Littorina obtusata Smooth periwinkle LITOBT 10 to 14.9 35

Summarize different combinations of parks, sites, years, species, etc.

minv_acad <- sumMotileInvertMeas(park = "ACAD")
minv_r <- sumMotileInvertMeas(park = "ACAD", plotName = c("R1", "R2", "R3", "R4", "R5"))
minv_BOHA2 <- sumMotileInvertMeas(site = c("CALISL", "GREISL"))
minv_lit <- sumMotileInvertMeas(species = c("LITLIT", "LITOBT", "LITSAX"))
minv_5yr <- sumMotileInvertMeas(years = 2016:2021)
minv_first_last <- sumMotileInvertMeas(years = c(2013, 2021))
minv21_qaqc <- sumMotileInvertMeas(years = 2021, QAQC = TRUE)

Echinoderm Counts

This function summarizes site-level average, median, min and max counts by park, site, plot name, and species.

Summarize defaults, which is all parks, all sites, all plots, all species, non-QAQC visits, and complete records.

print_head(sumEchinoCounts())
GroupCode GroupName UnitCode UnitName SiteCode SiteName StartDate Year QAQC SpeciesCode ScientificName count_total count_med count_avg count_min count_max count_l25 count_u75
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE ASTFOR Asterias forbesi 0 0 0.0000000 0 0 0 0.0
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE ASTRUB Asterias rubens 0 0 0.0000000 0 0 0 0.0
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE HENSAN Henricia sanguinolenta 0 0 0.0000000 0 0 0 0.0
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2013-06-21 2013 FALSE STRDRO Strongylocentrotus droebachiensis 0 0 0.0000000 0 0 0 0.0
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2014-06-21 2014 FALSE ASTFOR Asterias forbesi 0 0 0.0000000 0 0 0 0.0
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2014-06-21 2014 FALSE ASTRUB Asterias rubens 1 0 0.3333333 0 1 0 0.5

Summarize different combinations of parks, sites, years, species, etc.

cnts_ACAD <- sumEchinoCounts (park = "ACAD")
cnt_a1 <- sumEchinoCounts (park = "ACAD", plotName = "X1")
cnt_BOHA2 <- sumEchinoCounts (site = c("CALISL", "GREISL"))
cnt_af <- sumEchinoCounts (park = "BOHA", species = c("ASTFOR"))
cnt_5yr <- sumEchinoCounts (years = 2016:2021)
cnt_first_last <- sumEchinoCounts (years = c(2013, 2021))
cnt21_with_qaqc <- sumEchinoCounts (years = 2021, QAQC = TRUE)

Echinoderm Meas

This function summarizes number of individuals in each 5 mm size class by park, site, and species.

Summarize defaults, which is all parks, all sites, all plots, all species, non-QAQC visits, and complete records.

print_head(sumEchinoMeas())
GroupCode GroupName UnitCode UnitName SiteCode SiteName StartDate Year QAQC ScientificName CommonName SpeciesCode Meas_5mm_fac num_meas
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2014-06-21 2014 FALSE Asterias rubens Common sea star ASTRUB 15 to 19.9 1
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2014-06-21 2014 FALSE Strongylocentrotus droebachiensis Green sea urchin STRDRO 15 to 19.9 1
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2014-06-21 2014 FALSE Strongylocentrotus droebachiensis Green sea urchin STRDRO 20 to 24.9 1
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2014-06-21 2014 FALSE Strongylocentrotus droebachiensis Green sea urchin STRDRO 25 to 29.9 3
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2014-06-21 2014 FALSE Strongylocentrotus droebachiensis Green sea urchin STRDRO 30 to 34.9 2
NETN Northeast Temperate Network ACAD Acadia National Park BASHAR Bass Harbor 2014-06-21 2014 FALSE Strongylocentrotus droebachiensis Green sea urchin STRDRO 45 to 49.9 1

Summarize different combinations of parks, sites, years, species, etc.

minv_acad <- sumEchinoMeas(park = "ACAD")
minv_r <- sumEchinoMeas(park = "ACAD", plotName = c("X1", "X2"))
minv_BOHA2 <- sumEchinoMeas(site = c("CALISL", "GREISL"))
minv_lit <- sumEchinoMeas(species = c("ASTFOR", "ASTRUB"))
minv_5yr <- sumEchinoMeas(years = 2016:2021)
minv_first_last <- sumEchinoMeas(years = c(2013, 2021))
minv21_qaqc <- sumEchinoMeas(years = 2021, QAQC = TRUE)

Plot Data

For most getter and summary functions, there are plotting functions with the same suffix. Some examples are below. See also the examples in the help files for each function.

Barnacle Recruitment

This function plots median barnacle recruitment counts across the five summer plots per site and year, with error bars representing min and max counts among the five plots. If only 1 plot is specified, then the raw counts will be plotted. If both summer and winter plots are specified, resulting plot will be color-coded by season. If more than one site and year is specified, results will be faceted by site. Note that you will receive a warning if there are duplicate count records for a given site, plot name, and visit.

Plot summer recruitment for all years faceted on ACAD sites

plotBarnacleRecruitment(park = 'ACAD')

Species Contours

These plots combine the point intercept data (dots and symbols on the graph) and the photoplot cover data (pie charts) to compare changes across years.

plotSpeciesContours(site = "BASHAR", years = 2013:2018)

## TableGrob (1 x 2) "arrange": 2 grobs
##   z
## 1 1
## 2 2
##       cells
## 1 (1-1,1-1)
## 2 (1-1,2-2)
##      name
## 1 arrange
## 2 arrange
##             grob
## 1 gtable[layout]
## 2 gtable[layout]

Point Intercept Transect

Plot the transect contours faceted on transect number

plotPITransects(site = "SHIHAR", years = 2013:2019)

Point Intercept Species

Plot point intercept species detections summarized as median and middle 50% distribution of elevation. There are a lot of arguments to produce different plots and figures. Some of the ones I find most useful are below. Note when years aren’t specified, all years are included by default.

plotPISpecies(site = "BASHAR", facet = T, main_groups = T, plotly = T)
plotPISpecies(park = "BOHA", facet = T, main_groups = T)

plotPISpecies(site = "SHIHAR", rev_axis = T, facet = T)

plotPISpecies(site = "OTTPOI", species = c("FUCSPP", "ASCNOD"), plotly = T)

PhotoPlot Cover

Plots the photoplot cover summarized as median cover and middle 50% distribution of cover across the photoplots within a target species. Note that there are a lot of arguments that produce different plots and figures (all explained in the help). Here are a few I tend to use the most.

plotPhotoCover(park = "ACAD", community = "Barnacle", plotly = T)
plotPhotoCover(site = "LITHUN", main_groups = T) 

plotPhotoCover(site = "LITHUN", top_spp = 3)

plotPhotoCover(site = "LITHUN", top_spp = 3, plotly = T, xlab = NULL, plot_title = "Little Hunter")
plotPhotoCover(site = "LITHUN", main_groups = T, community = "Fucus", plotly = T)
plotPhotoCover(site = "BASHAR", main_groups = T, heatmap = TRUE)

Motile Invert Counts

plotMotileInvertCounts(site = "OUTBRE", years = 2013:2021)

plotMotileInvertCounts(site = "OUTBRE", years = 2013:2021, plotly = T)

Motile Invet Meas.

plotMotileInvertMeas(site = "SHIHAR", years = 2013:2019)

Echinoderm Counts

plotEchinoCounts(site = "OUTBRE", years = 2013:2021)

plotEchinoCounts(site = "OUTBRE", years = 2013:2021, plotly = T)

Echinoderm Meas

plotEchinoMeas(site = "SHIHAR", years = 2013:2019)

Water and Buoy Data

Water temp.

Note the data and functions have not been checked recently, and may not be fully functional

plotWaterTemp(park = "ACAD", years = 2022, facet_col = 1)

plotWaterTemp(site = "BASHAR", years = 2011:2022)

Buoy Data

plotBuoyData(park = "ACAD", metric = 'all')

## TableGrob (2 x 1) "arrange": 2 grobs
##   z
## 1 1
## 2 2
##       cells
## 1 (1-1,1-1)
## 2 (2-2,1-1)
##      name
## 1 arrange
## 2 arrange
##             grob
## 1 gtable[layout]
## 2 gtable[layout]
plotBuoyData(park = "ACAD", metric = "temp", year = 2022)

Rocky ggplot theme

The default ggplot aesthetics are too busy, and require several lines of code to turn off. For every package, I create a theme that turns those off and can just be run with the ggplot code. For this package use theme_rocky() as shown below.

dat <- sumPhotoCover(site = "SHIHAR", community = "Ascophyllum", species = "ASCNOD")

library(ggplot2)
ggplot(dat, aes(x = Year, y = median_cover)) +
  geom_point() +
  theme_rocky()